A Strategic Profiler for Glasgow Parallel Haskell
نویسندگان
چکیده
Execution prooling plays a crucial part in the performance-improving process for parallel functional programs. This paper presents the design, implementation, and use of a new execution time prooler (GranSim-SP) for Glasgow Parallel Haskell (GpH). Parallelism is introduced in GpH by using evaluation strategies, which provide a clean way of coordinating parallel threads without destroying a program's original structure. The new prooler attributes the cost of evaluating parallel threads to the strategies that created them. A unique feature of the strategic prooler is that the call-graph of evaluation strategies is maintained , allowing the programmer to discover the sequence of (perhaps nested) strategies that were used to create any given thread. The strategic prooler is demonstrated on several examples, and compared with other proolers.
منابع مشابه
Parallel Skeletons In Glasgow Distributed Haskell
Parallel programming is an important tool when trying to handle large problems that can not be dealt with using conventional single processors systems; either parallel machines or clusters of machines are used to provide the computational power needed. However parallel programming is an inherently difficult task and any tool or language that can provide suitable abstractions making the programm...
متن کاملProfiling a parallel domain specific language using off-the-shelf tools
Profiling tools are essential for understanding and tuning the performance of both parallel programs and parallel language implementations. Assessing the performance of a program in a language with high-level parallel coordination is often complicated by the layers of abstraction present in the language and its implementation. This thesis investigates whether it is possible to profile parallel ...
متن کاملOptimising Eden by transformation
Eden is a parallel extension of Haskell allowing the programmer to explicitly specify which expressions must be evaluated as parallel processes. Eden is implemented by modifying the Glasgow Haskell Compiler (GHC). This decision has saved a lot of work but has also produced some drawbacks: Some optimizing transformations done by GHC are not convenient for Eden, either because they spoil its sema...
متن کاملOptimizing Eden by Program Transformation
Eden is a parallel extension of Haskell allowing the programmer to explicitly specify which expressions must be evaluated as parallel processes. Eden is implemented by modifying the Glasgow Haskell Compiler (GHC). This decision has saved a lot of work but has also produced some drawbacks: Some optimizing transformations done by GHC are not convenient for Eden, either because they spoil its sema...
متن کاملOptimizing Eden by Transformation
Eden is a parallel extension of Haskell allowing the programmer to explicitly specify which expressions must be evaluated as parallel processes. Eden is implemented by modifying the Glasgow Haskell Compiler (GHC). This decision has saved a lot of work but has also produced some drawbacks: Some optimizing transformations done by GHC are not convenient for Eden, either because they spoil its sema...
متن کامل